package demo;

import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;

public class SpinnerExample extends JFrame {

    public SpinnerExample() {
        // 设置窗口标题
        super("JSpinner Example");
        // 设置窗口关闭操作
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        // 设置布局管理器
        setLayout(new FlowLayout());

        // 创建一个JSpinner
        JSpinner spinner = new JSpinner();
        // 设置初始值
        spinner.setValue(10);
        // 添加到窗口
        add(spinner);

        // 为JSpinner添加事件监听器
        spinner.addChangeListener(new ChangeListener() {
            @Override
            public void stateChanged(ChangeEvent e) {
                // 当JSpinner的值发生变化时调用
                System.out.println("New value: " + spinner.getValue());
            }
        });

        // 设置窗口大小
        setSize(200, 100);
        // 设置窗口可见
        setVisible(true);
    }

    public static void main(String[] args) {
        // 在Swing事件分派线程中运行
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new SpinnerExample();
            }
        });
    }
}

